Pakiet Aircrack-ng służy do testowania sieci bezprzewodowych pod kątem zabezpieczeń. Za jego pomocą można przechwytywać pakiety i odzyskiwać z nich klucze WEP i WPA. Instalacja: sudo apt-get install build-essential wget http://download.aircrack-ng.org/aircrack-ng-1.2-beta1.tar.gz tar -zxvf aircrack-ng-1.2-beta1.tar.gz cd aircrack-ng-1.2-beta1 make make install Instalacja ze wsparciem CUDA: svn co http://svn.aircrack-ng.org/branch/aircrack-ng-cuda/ aircrack-ng-cuda cd aircrack-ng-cuda CUDA=true make make CUDA=true sqlite=true unstable=true install Nie wszystkie chipsety kart sieciowych wspierają możliwości pakietu. Pod tym adresem http://www.aircrack-ng.org/doku.php?id=compatibility_drivers można znaleźć listę tych wspieranych w pełni bądź częściowo. 1. Otrzymywanie ukrytego ESSID (Extended Service Set Identification) Musimy podsłuchać za pomocą programu airodump-ng klucz. Po wywołaniu airodump-ng Pojawią nam się wszystkie sieci będące w zasięgu naszej karty sieciowej uporządkowane malejącą po mocy sygnału. CH 9 ][ Elapsed: 1 min ][ 2007-04-26 17:41 ][ WPA handshake: 00:14:6C:7E:40:80 BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID 00:09:5B:1C:AA:1D 11 16 10 0 0 11 54. OPN NETGEAR 00:14:6C:7A:41:81 34 100 57 14 1 9 11e WEP WEP bigbear 00:14:6C:7E:40:80 32 100 752 73 2 9 54 WPA TKIP PSK teddy BSSID STATION PWR Rate Lost Packets Probes 00:14:6C:7A:41:81 00:0F:B5:32:31:31 51 36-24 2 14 (not associated) 00:14:A4:3F:8D:13 19 0-0 0 4 mossy 00:14:6C:7A:41:81 00:0C:41:52:D1:D1 -1 36-36 0 5 00:14:6C:7E:40:80 00:0F:B5:FD:FB:C2 35 54-54 0 99 teddy Od lewej wyżej mamy: BSSID - adres mac routera. PWR - siła sygnału (im niższa liczba tym silniejszy sygnał). RXQ - jakość odbioru sygnału (procent pakietów otrzymanych w ciągu ostatnich 10 sekund). Beacons - liczba beaconsów (pakietów z informacjami o sieci) wysłanych przez router. #Data - liczba pakietów danych (dla WEP liczba IV). #/s - liczba pakietów na sekundę. CH - numer kanału nadawania. MB - maksymalna wspierana przez router prędkość transferu. ENC - rodzaj algorytmu szyfrowania używanego przez router (WEP, WPA, itp.). CIPHER - rodzaj protokołu szyfrowania (TKIP, CCMP, itp.). AUTH - protokół uwierzytelniania (np. PSK). ESSID - nazwa sieci bezprzewodowej. I poniżej: STATION - adres mac klienta podłączonego do danego BSSID. Lost - liczba nieprzechwyconych pakietów. Packets - liczba pakietów wysłanych przez klienta. Probes - ESSIDy do których klient próbuje się podłączyć. Po odszukaniu interesującej nas sieci (jej ESSID będzie wyglądać mniej więcej tak: ) używamy polecenia airodump-ng -c --bssid -a wlan0 dzięki czemu przefiltrujemy tylko informacje dotyczące tej jednej sieci (parametr -a służy do filtrowania klientów - wyświetlą się jedynie podłączeni do interesującej nas sieci). Jeśli nie ma podłączonego do tej sieci żadnego klienta to nie będziemy w stanie odczytać ESSID od razu - będziemy musieli poczekać aż ktoś się podłączy do niej. W przeciwnym wypadku musimy rozłączyć klienta za pomocą programu aireplay-ng aireplay-ng -0 -a -c Spowoduje to jego ponowne podłączenie do sieci a airodump-ng automatycznie przechwyci ESSID. 2. Filtrowanie po adresach mac. Po wywołaniu polecenia airodump-ng -c --bssid -a wlan0 wyświetlą nam się dane sieci która nas interesuje, a poniżej lista podpiętych do niego klientów (ich adresy mac). Za pomocą choćby programu macchanger możemy podszyć się pod któregoś z nich i podłączyć do sieci. macchanger -m aa:bb:cc:dd:ee:ff 3. Sieć z zabezpieczeniem WEP. a) z podłączonymi klientami Wpierw włączamy nasłuch airodump-ng -c --bssid -a -w zapisywane_pakiety Parametr -w określa nazwy plików w których zapisywane są IV i informacje uzyskane przez program. Dane zapisywane są w plikach: zapisywane_pakiety-01.cap zapisywane_pakiety-01.csv zapisywane_pakiety-01.kismet.csv zapisywane_pakiety-01.kismet.netxml IV zapisywane są w pliku z rozszeżeniem .cap . Po zebraniu odpowiedniej ich ilości (40 000 powinno bez problemu wystarczyć). Następnie musimy udać podłączenie do routera za pomocą polecenia aireplay-ng -1 -a -h Po podłączeniu kolejnym krokiem jest uruchomienie aireplay-ng w celu wstrzyknięcia żądań ARP po ich uprzednim przechwyceniu. aireplay-ng -3 -a -h Możemy przyspieszyć oczekiwanie na ARP poprzez rozłączenie klienta poleceniem aireplay-ng -0 -a -c Czekamy aż pakiety się wyłapią po czym za pomocą programu aircrack-ng uzyskujemy hasło do sieci. aircrack-ng nazwapliku.cap b) bez podłączonych klientów Pierwszym krokiem będzie uzyskanie fałszywego podłączenia do routera aireplay-ng -1 -a -h Następnie za pomocą jednego z poleceń: aireplay-ng -4 -a -h aireplay-ng -5 -a -h musimy uzyskać plik z PRGA który posłuży do uzyskania ruchu w sieci potrzebnego nam do przechwycenia IV i uzyskania klucza. W obu przypadkach program aireplay-ng nasłuchuje i czeka na pakiet, za pomocą którego będzie mógł utworzyć PRGA. Metody różnią się algorytmem - pierwszy to chop-chop drugi to atak fragmentacyjny. Jeśli wszystko się powiedzie (nie zawsze musi) to uzyskamy plik wynikowy z którego za pomocą polecenia packetforge-ng -0 -a -h -k 255.255.255.255 -l 255.255.255.255 -y fragment-0530- 141645.xor -w arpy otrzymamy plik za pomocą którego będzie można wstrzykiwać arp-requesty. W końcu uruchamiamy nasłuch airodump-ng -c --bssid -a -w zapisywane_pakiety i wstrzykiwanie pakietów aireplay-ng -2 -r arpy -h Po przechwyceniu odpowiedniej ilości IV programem aircrack-ng uzyskujemy klucz aircrack-ng nazwapliku.cap 4. Sieć z zabezpieczeniem WPA W tym przypadku musimy uzyskać handshake pomiędzy routerem a klientem. Aby to zrobić uruchamiamy nasłuch do pliku airodump-ng -c --bssid -a -w zapisywane_pakiety Jeśli mamy podłączonego klienta, rozłączamy go aireplay-ng -0 -a -c W przeciwnym wypadku czekamy, aż ktoś się połączy. W momencie podłączenia klienta do routera powinniśmy przechwycić handshake. Aby uzyskać klucz użyjemy ataku słownikowego. aircrack-ng –w slownik.txt nazwapliku.cap Jeśli hasła nie ma w słowniku, to możemy użyć jedynie ataku brutalnego. 5. Dodatkowe Czasem aby karta zaczęła nasłuchiwać na odpowiednim porcie należy za pomocą programu airmon-ng włączyć jej monitor mode (tryb nasłuchiwania) airmon-ng start wlan0 [nr kanału] Za pomocą polecenia aireplay -9 możemy przetestować jakość połączenia z routerami będącymi w zasięgu. Dodając -a testujemy połączenie z danym routerem, a z parametrem -B testujemy dodatkowo dla każdej prędkości jaką jest w stanie obsłużyć nasza karta sieciowa. Za pomocą polecenia airdecap-ng -w klucz nazwapliku.cap Można odszyfrowywać przechwycone pakiety WEP/WPA/WPA2